1. Field of the Invention
The present invention relates to communications; more specifically, wireless communications.
2. Description of the Related Art
Most wired and wireless data transfers use a common protocol known as TCP/IP (Transmission Control Protocol/Internet Protocol). TCP involves a transmitter sending IP packets of data to a receiver that replies with acknowledgment messages (ACKs) when data is correctly received. Data packets that are lost or corrupted are not acknowledged and are retransmitted until they are received successfully.
In addition to insuring that all transmitted data is correctly received, the ACK scheme also serves to meter the flow of data. When TCP transmissions begin, the initial transmitted data rate is low and ramps up as ACKs are received through a process called “Slow Start”. The Slow Start process begins with the transmitter sending one packet of data and waiting for an acknowledge message from the receiver. After receiving the first ACK, the transmitter then sends two packets of data. Each time an ACK is received in response to a transmission, the number of packets transmitted in the next transmission is increased resulting in an exponential increase in data rate illustrated as Ramp 10 in FIG. 1. Eventually a point is reached when, the maximum data rate of the transmission path is attained (point 12 in FIG. 1) and the transmitter sends data at a rate equal to the rate the receiver acknowledges it.
Transmission at the maximum data rate will be persist until an error occurs indicated by failure of the transmitter to receive an acknowledgement of data sent to the receiver. Should this occur the transmitter assumes the data is lost due to network congestion and invokes the Slow Start procedure. This is illustrated in portion 14. It should be noted that the rate at which the data transmissions are ramped up to the maximum transmission rate, is dependent on how quickly acknowledgments arrive at the transmitter and hence on the the round trip delay in the communication channel. For example, each step up in the ramp involves transmitting one or more packets of data and waiting for one or more acknowledgments from a receiver. In a system such as a wired communication system, the round trip delays may be as little as 1 or 2 milliseconds and as a result, the ramp up period is relatively quick. Unfortunately, in wireless communication systems the round trip delay may be on the order of 100 or 200 milliseconds. As a result, the ramp up period in wireless communication systems is relatively long as illustrated by dashed ramp up curve 16. As a result, in wireless communication systems, the slower ramp up time results in a waste of channel capacity illustrated by area 18.
Normally, errors are indicated by repeated acknowledgements with the same sequence number, indicating that the receiver is receiving data but a packet has been lost. To handle cases where many packets are lost, and no acknowledgments are made, TCP also includes a time out period. If an acknowledgment is not received within the time out period the transmitter will assume all unacknowledged packets are lost and begin retransmission and Slow Start. Such timeouts rarely occur in a wired system because the transmission path is reliable and multiple packet losses are very rare. In a wireless system, varying conditions of noise, fading, and channel allocation among multiple users can cause delays in data transmission sufficient to cause TCP timeouts even when no packets are lost. Therefore wireless data are far more vulnerable to time outs than wired systems and their associated slower ramp up of data transmission rates results in a greater reduction of channel capacity per time out.